package com.server.rule.component.integrated;

import org.jdom.Element;
import com.server.rule.component.RuleDecision;
import com.server.rule.data.Data;
import com.server.rule.data.ExceptionTypeData;
import com.shared.model.Proposition;
import com.shared.rule.TypeCible;
import com.shared.rule.TypeDecision;


/**
 * Classe abstraite permettant la creation de {@link Proposition} à destination d'une cible {@link TypeCible} 
 * @author queyroi
 *
 */
public abstract class RuleDecisionWithProposition extends RuleDecision{
		
	protected TypeDecision typeDecision;
	
	
	public RuleDecisionWithProposition() {
		super();		
	}
	
	public RuleDecisionWithProposition(String label) {
		super(label);		
	}
	
		
	public abstract Element getXMLElement();
	
	public abstract void generateFromXML(Element xmlElement);
	
	public abstract Proposition createProposition();	
		
	/**
	 * @return the typeDecision
	 */
	public TypeDecision getTypeDecision() {
		return typeDecision;
	}
	
}
